home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Archives / ForCLI / infolist.lha / Infolist / rexxc / dopus / InfoList_modrename.dopus next >
Encoding:
Text File  |  1995-01-05  |  4.4 KB  |  123 lines

  1. /*
  2.  $VER: InfoList_modrename.dopus 2.92 (95.01.04 18:55:58)
  3.  
  4.  Funktion: Mit Hilfe von Infolist werden alle Einträge auf ihren Dateityp
  5.    getestet. Ist das File ein Musik Modul, wird es nach seinem Internen
  6.    Namen umbenannt. Ist ein File bereits vorhanden, so wird ein Suffix
  7.    "__x" angehangen. "x" steht für die Interation.
  8.  
  9.  Benötigt werden:
  10.    rexxsupport.library, InfoList
  11.    DOpus 4.0+ runing ( nur bei Möglichkeit 1 )
  12.    temporäres Dir "T:"
  13.  
  14.  Aufruf 1, von DOpus gestartet: RX InfoList_modrename.dopus
  15.    Outputwindow
  16.    Es wird dann das aktuelle Window modifiziert
  17.  
  18.  Aufruf 2, vom CLI gestartet: rx InfoList_setcomment.dopus Path
  19.    Als Path muß das zu modifizierende Dir angegeben werden. DOpus wird
  20.    nicht benötigt.
  21.  
  22.  Programmierer: Lutz Hanke, Dorfstr. 43, 01825 Breitenau, Germany
  23.  
  24.  Achtung:
  25.  1. MED4-8 ist nicht implementiert, da der internen Namen nicht den des
  26.     Module File Namens entspricht.
  27.  
  28. */
  29.  
  30. OPTIONS RESULTS
  31.  
  32. if ~show('l','rexxsupport.library') then do
  33.   if ~addlib('rexxsupport.library',0,-30,34) then exit 20
  34. end
  35.  
  36. parse arg arg.1 temp
  37. if arg.1 = '' then do
  38.   ADDRESS 'DOPUS.1' 'Status 3'
  39.   active = RESULT
  40.   ADDRESS 'DOPUS.1' 'status 13' active
  41.   Quellpath = RESULT
  42. end
  43. else do
  44.   Quellpath = arg.1
  45. end
  46. Quellpath = strip(Quellpath,'b','"')
  47.  
  48.  
  49. a = 1
  50. suf.a = '.as'     ; a = a + 1
  51. suf.a = '.nt'     ; a = a + 1
  52. suf.a = '.readme' ; a = a + 1
  53. suf.a = '.readme1'; a = a + 1
  54. suf.a = '.txt'    ; a = a + 1
  55. suf.a = '.txt1'    ; a = a + 1
  56. suf.a = '.txt2'    ; a = a + 1
  57. suf.a = '.txt3'    ; a = a + 1
  58. suf.a = '.txt4'    ; a = a + 1
  59. suf.a = '.lyric'    ; a = a + 1
  60. suf = a - 1
  61.  
  62.  
  63. ADDRESS 'COMMAND' 'Infolist "'Quellpath'" >t:il files music decrunch lformat %n/%c/%i'
  64.  
  65. if open('il','t:il') then do
  66.   do while ~EOF('il')
  67.     string = readln('il')
  68.     parse var string name.old'/'comment'/'name.new
  69.     if (pos(':',name.new) = 0) & (pos('/',name.new) = 0) & (pos('"',name.new) = 0) then do
  70.       if name.new ~= '' then do
  71.         select
  72.           when pos('Chiptracker',comment)      ~=0 then do ; prefix = 'KRIS.'  ; call newname ; end
  73.           when pos('EurekaPacker',comment)     ~=0 then do ; prefix = 'EP.'    ; call newname ; end
  74.           when pos('FTM mod',comment)          ~=0 then do ; prefix = 'FTM.'   ; call newname ; end
  75.           when pos('Icetracker',comment)       ~=0 then do ; prefix = 'ICE.'   ; call newname ; end
  76.           when pos('Multitracker',comment)     ~=0 then do ; prefix = 'MTM.'   ; call newname ; end
  77.           when pos('Powermusic',comment)       ~=0 then do ; prefix = 'mod.'   ; call newname ; end
  78.           when pos('Prorunner 1.0',comment)    ~=0 then do ; prefix = 'PRun1.' ; call newname ; end
  79.           when pos('ProTracker',comment)       ~=0 then do ; prefix = 'mod.'   ; call newname ; end
  80.           when pos('Pumatracker 1.0',comment)  ~=0 then do ; prefix = 'Puma.'  ; call newname ; end
  81.           when pos('Screamtracker',comment)    ~=0 then do ; prefix = 'S3M.'   ; call newname ; end
  82.           when pos('SoundMonitor 2.0',comment) ~=0 then do ; prefix = 'BP.'    ; call newname ; end
  83.           when pos('SoundTracker 2.0',comment) ~=0 then do ; prefix = 'ST20.'  ; call newname ; end
  84.           when pos('SoundTracker old',comment) ~=0 then do ; prefix = 'mod.'   ; call newname ; end
  85.           when pos('StarTrekker',comment)      ~=0 then do ; prefix = 'mod.'   ; call newname ; end
  86.           when pos('Unic1Tracker',comment)     ~=0 then do ; prefix = 'Unic1.' ; call newname ; end
  87.           when pos('Unic2Tracker',comment)     ~=0 then do ; prefix = 'Unic2.' ; call newname ; end
  88.           when pos('Wantonpacker',comment)     ~=0 then do ; prefix = 'WP.'    ; call newname ; end
  89.           otherwise say 'unknown filetype "'string'"'
  90.         end
  91.       end
  92.       else say 'no rename : "'string'"'
  93.     end
  94.     else say 'error for new name : "'string'"'
  95.   end
  96. end
  97.  
  98. call close('il')
  99.  
  100. exit 0
  101.  
  102.  
  103. newname:
  104.   if compare(name.old,prefix || name.new) > 0 then do
  105.     say 'rename    :' left(name.old,30) prefix || name.new
  106.     if ~rename(Quellpath || name.old,Quellpath || prefix || name.new) then do
  107.       loop = 1
  108.       do while loop ~= 0
  109.         say ' ' loop
  110.         if rename(Quellpath || name.old,Quellpath || prefix || name.new'__'loop) then do
  111.           loop = 0
  112.         end
  113.         else loop = loop + 1
  114.       end
  115.     end
  116.     do a = 1 to suf
  117.       call rename(Quellpath || name.old || suf.a,Quellpath || prefix || name.new || suf.a)
  118.     end
  119.   end
  120.   else say ' equate   :' left(name.old,30) prefix || name.new
  121. return
  122.  
  123.